Resolver feedback has been used in position control systems for some time for monitoring the actual position of a machine member, or other object, whose position is being controlled. In these systems, the resolver is typically included in a servo loop to provide an indication of the actual position of the controlled object so that, by continuous comparison with a commanded position, an error signal is created for driving the servo loop. Operationally, a resolver is provided with a pair of excitation signals, most generally in the form of two sine waves of identical amplitude, and frequency, and are very carefully maintained at 90 electrical degrees in phase separation. In essence, therefore, the excitation signals are in the form of sine and cosine waves. The resolver output signal, on the other hand, is a third signal whose phase relationship with either of the excitation signals is indicative of the monitored position. Resolvers may, of course, be adapted to respond to either linear or rotary displacements.
Recently developed position control systems have utilized digital techniques for generation of the resolver excitation signals and for determination of the phase shift (hence, position) of the resolver output signal. By these techniques, such systems have become very precise, accurate, and reliable since the resolver drive signals and phase comparison functions are digital in nature, limited in accuracy substantially only by the precision of the time base. In fact, it is advantageous, in many respects, in a digital excitation system for a resolver, to use a notched square wave approximation of the sine and cosine wave forms. The resolver output signal remains fundamentally sinusoidal but it does become necessary to carefully condition this signal, removing harmonics so as to obtain the desired linearity between the monitored position and the measured phase shift. Analog filters are typically used for this purpose.
Unfortunately, the use of analog filters contributes many degrees of phase shift to the signal. In resolver terms, even one degree of phase shift represents a very significant position error (e.g., 360.degree. of phase shift corresponds to an entire revolution of a resolver shaft). Any known, fixed amount of phase shift caused by the filter (or indeed by any other element or component in the circuit path of the resolver signal) can be accounted for and can quite simply be adjusted out. However, phase shifts caused by the effects of temperature and component aging are not accounted for in this manner. Furthermore, since the signal conditioning circuits (e.g., filters) are typically included as components on a single circuit board, phase shift variations from board to board produce position errors which necessitate readjustment whenever a board is replaced. Generally, upon board replacement, it is necessary to either realign the resolver or else determine a position offset and program it into the position control system as new setup data. Even these solutions, however, offer no relief from the phase shift errors caused by time and temperature effects.
Accordingly, it is among the objects of the present invention to provide a method and apparatus by which the output value of a resolver position detection system is compensated for systematic phase shift errors (i.e., those errors generally resulting from a system bias as exemplified by errors such as those discussed above) produced by signal conditioning circuitry through which the signal passes.
It is a further object of the invention to provide such method and apparatus whereby it becomes unnecessary to make readjustments of the resolver or its associated circuitry to overcome errors arising upon the replacement of circuitry used for conditioning the resolver output signal.
It is still further an object of the invention to provide a position indicative value derived from a resolver of a position control system such that position offsets arising from systematic phase shift errors do not have to be programmed into the system in order to compensate for such phase shift errors.